package com.tarena.lbs.coupon.service;

import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.coupon.dao.mapper.CouponCodeMapper;
import com.tarena.lbs.coupon.dao.mapper.CouponMapper;
import com.tarena.lbs.coupon.dao.repository.CouponCodeRepository;
import com.tarena.lbs.coupon.dao.repository.CouponRepository;
import com.tarena.lbs.coupon.pojo.param.CouponParam;
import com.tarena.lbs.coupon.pojo.po.CouponCodePO;
import com.tarena.lbs.coupon.pojo.po.CouponPO;
import com.tarena.lbs.coupon.pojo.vo.CouponVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
@Slf4j
public class CouponServiceImpl implements CouponService{
    @Autowired
    private CouponCodeRepository  couponCodeRepository;
    @Autowired
    private CouponMapper  couponMapper;

    @Override
    public void saveCoupon(CouponParam couponParam) {
        log.debug("新增优惠券业务参数:{}", couponParam);
        CouponPO couponPO = new CouponPO();
        BeanUtils.copyProperties( couponParam, couponPO);
        if (couponPO.getId() == null) {//新增
            couponMapper.save(couponPO); // 使用 Repository 插入数据库
        }
         else {//更新
            couponMapper.update(couponPO); // 使用 Repository 插入数据库
        }
    }

    @Override
    public PageResult<CouponVO> selectAllCoupons() {
        PageResult<CouponVO> pageResult = new PageResult<>();
        pageResult.setObjects(couponMapper.selectAllCoupons());
        return pageResult;
    }

    @Override
    public CouponVO detail(Integer id) {
        return couponMapper.detail(id);
    }
}
